/* Copyright [2023] <gyl> */
#pragma once

#include <string>
#include <vector>

#include "sql/stmt/stmt.h"

class UseStmt : public Stmt {
 public:
  explicit UseStmt(const std::string &database_name)
      : database_name_(database_name) {}
  virtual ~UseStmt() = default;

  StmtType type() const override { return StmtType::USE; }

  const std::string &database_name() const { return database_name_; }

  static RC create(const UseSqlNode &use, Stmt *&stmt);

 private:
  std::string database_name_;
};
